#ifndef TILEDSPRITE_H
#define TILEDSPRITE_H
#include <cstddef>
#include <SFML/Graphics.hpp>

/*
	Representa a un sprite que tiene asociado un srpitesheet
*/

class TiledSprite : public sf::Sprite{


private:
	
	unsigned tileW,tileH;//Dimensiones del tile

	unsigned nCols,nRows;//Columnas y Filas del Spritesheet
	

	unsigned tileIndex;//Indice actual



public:

	//Constructor, recibe el nombre del archivo, la cantidad de columnas y filas
	TiledSprite(const std::string &filename,unsigned nCols, unsigned nRows);

	
	//Setea el tile actual con el que se dibuja el spr
	void SetTileIndex(unsigned i);
	
	//Retorna el índice de tiles actual
	unsigned GetTileIndex();

	inline unsigned GetTileWidth() const {return tileW;};

	inline unsigned GetTileHeight() const {return tileH;};	

	sf::IntRect GetAABB();

	

};
#endif
